# ⭐第四天
# 1.给定一个字符串，判断该字符串是否是回文字符串，即正着读和反着读都一样。
def is_palindrome(s):
    # 去除空格和转换为小写
    cleaned = s.replace(" ","").lower()

    # 比较字符串与反换后的字符串
    return cleaned == cleaned[::-1]

# 2.给定一个数组，其中除了两个数字只出现一次之外，其余数字都出现了两次。请找出这两个只出现一次的数字。
def find_single_numbers(nums):
    # 创建一个字典用于统计数字出现的次数
    count = {}

    # 遍历数组，记录每个数字的出现次数
    for num in nums:
        if num not in count:
            count[num] = 1     # 首次出现则次数设为1
        else:
            count[num] += 1    # 已存在的则次数+1

    # 筛选出出现次数为1的数字
    result = []
    for num,freq in count.items():
        if freq == 1:
            result.append(num)
            #找到两个就可以提取结束
            if len(result) == 2:
                break

    return result

if __name__ == '__main__':
    s = 'abcba'
    print(is_palindrome(s))
    # 输出结果为：True
    nums = [1, 2, 1, 3, 2, 5]
    print(find_single_numbers(nums))
    # 输出结果为: [3, 5]